// 防抖和节流
// 传入一个函数和一个time, 通常为毫秒
export function debounce(func, time) {
    let timer = null
    // 返回一个匿名函数, 可以接收参数
    return function (...arg) {
        // 防抖: 规定时间内只执行一次
        clearTimeout(timer)
        timer = setTimeout(() => {
            func.apply(this, arg)
        }, time)
    }
}
// 节流: 多次触发只执行一次
export function throttle(func, time) {
    let timer = null
    return function (...arg) {
        if (timer) return
        timer = setTimeout(() => {
            func.apply(this, arg)
            timer = null
        }, time)
    }
}
